The need for uniformity correction to correct for hue shifts in a single color-filter-array (CFA) image sensor has been recognized. Such sensors uses a regular pattern of colored dyes directly over the pixel sites in order to capture one color component per pixel. One particular pattern used in a digital still camera consists of a regular 2.times.2 pixel array of kernels. Each kernel consists of two green pixels on one diagonal, and one each of a red and blue pixel on the other diagonal. In order to reconstruct a full RGB (red, green, blue) image, processing is required to reconstruct the missing color information at each pixel site.
The sources of the non-uniformities is due to at least two mechanisms: non-uniformities in the poly-oxide sensor layer, resulting in a spatially varying spectral response, and the non-uniform application of the dyes when they are spun onto the die. The behavior of these non-uniformities is such that they are slowly varying. It has been found that a quadratic model provides an accurate enough of a fit to the actual non-uniformity profile.
When the digital image from a CFA digital camera is transferred to a computer, all spatial and colorimetric processing is done by software on the host computer, as the application does not demand real-time processing. Included in this processing is an algorithm to correct the red and blue color planes for non-uniformities. As these corrections are performed in software by the host computer, multiplications are left in the implementation of the algorithm.
There is a need to correct spatial non-uniformities in a video rate (as opposed to still-frame) color imager, where we wish to process the color information in real-time to be able to support a live color display output. Thus, the processing needs to be performed in real-time. It is therefore essential in such an application to reduce the costs of the implementation such that they can be implemented economically in off-the-shelf components.